浏览量 3497
2019/03/22 18:21
通过axios 从前台直接请求一个另外一个系统的后台接口,设置Header属性
{'Host': 'test.test.com'}
报错 unsafe header "Host"
查询百度得知是浏览器禁止设置部分headers属性:
w3c规定,不允许设置下面的请求头,为的是防止二次伪装请求,是出于安全考虑.
Accept-Charset
Accept-Encoding
Connection
Content-Length
Cookie
Cookie2
Content-Transfer-Encoding
Date
Expect
Host
Keep-Alive
Referer
TE
Trailer
Transfer-Encoding
Upgrade
User-Agent
Via
解决方法:
通过后台请求这个接口,前台再读取后台的接口得到所需数据。
def handle(self):
url = 'http://test.test/query?from=1&count=10'
req = urllib2.Request(url, headers={'Host': 'test.test.com'})
data_rst = json.loads(urllib2.urlopen(req).read())['data']
return data_rst
上一篇 搜索 下一篇